#include <cstdio>
#include <cstring>
#include <algorithm>
#include <vector>
using namespace std;
const int N=3005;
const int INF=0x3f3f3f3f;
int a[N];
int n;
vector<pair<int,int>> res;
int main(void){
    int cnt=0;
    scanf("%d",&n);
    for(int i=0;i<n;i++){
        scanf("%d",&a[i]);
    }
    for(int i=0;i<n;i++){
        int _min=INF;
        int j=i;
        int k=0;
        for(;j<n;j++){
            if(a[j]<_min){
                _min=a[j];
                k=j;
            }
        }
        //printf("--%d %d\n",_min,k);
        int t=a[i];
        a[i]=a[k];
        a[k]=t;
        if(i==k){
            continue;
        }
        cnt++;
        res.push_back({i,k});
    }
    printf("%d\n",cnt);
    for(int i=0;i<int(res.size());i++){
        printf("%d %d\n",res[i].first,res[i].second);
    }
    return 0;
}